Barcode Xpress for ActiveX v13 - Updated
Code 39
User Guide > Concepts > Barcode Specifications > Barcode Types > Code 39

Code 39 is widely used in many industries across the world. It is the standard for many government barcode specifications, including the U.S. Department of Defense. Code 39 is also known as Code 3 of 9.

Code 39 was the first alphanumeric symbology. Its character set includes the digits 0-9, the letters A-Z (uppercase only), and the following symbols: space, minus "-", plus "+", period ".", dollar sign "$", slash "/", and percent "%". Barcode Xpress generates an error if you have characters in your barcode value that are not allowed.

Each data character is made up of 5 bars and 4 spaces for a total of 9 elements. Each character includes 3 wide and 6 narrow elements. Thus, 3 out of the 9 elements are always wide, which is the reason why the code is sometimes called "3 of 9".

The ratio of wide to narrow bar width can be in the range of 1.8 to 3.4. The Barcode Xpress Code 39 style uses a 2:1 wide to narrow bar width ratio.

Code 39 requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MakeBarcodeBarSize property to 3 pixels (narrow bar size), you should set the MakeBarcodeBWidth property to 30 pixels. Since Code 39 is a self-checking barcode, it normally does not require a checksum. However, when necessary, an optional modulo 43 checksum may be used.

By default, Barcode Xpress does not write optional checksums. If a checksum is desired for Code 39, set the WriteChecksumChar property to True and Barcode Xpress calculates and writes the checksum.

If you don't set the reader SetBarcodeReaderType method to specifically look for Code 32 barcodes, the barcode engine might confuse a Code 32 barcode with a Code 39 barcode since Code 32 is a subset of Code 39 and Barcode Xpress assumes the barcode is a Code 39 when looking for Code 39 or both.
By default, Barcode Xpress detects Code 39 barcodes only with start and stop patterns. Use the Code39StartStopPatternsAreMandatory property to search for Code 39 barcodes without start and stop patterns.

 

See Also